home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / hplip / info.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-10-28  |  5KB  |  161 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __version__ = '5.2'
  5. __title__ = 'Device Information Utility'
  6. __mod__ = 'hp-info'
  7. __doc__ = 'Query a printer for static model information, dynamic status information, and CUPS printer queue settings.'
  8. import sys
  9. import getopt
  10. import time
  11. import os
  12. from base.g import *
  13. from base import device, status, utils, tui, module
  14. from prnt import cups
  15.  
  16. try:
  17.     restrict = True
  18.     devid_mode = '--id' in sys.argv
  19.     if devid_mode:
  20.         log.set_level('none')
  21.         restrict = False
  22.     
  23.     mod = module.Module(__mod__, __title__, __version__, __doc__, None, (INTERACTIVE_MODE, GUI_MODE), (UI_TOOLKIT_QT4,), False, devid_mode)
  24.     mod.setUsage(module.USAGE_FLAG_DEVICE_ARGS, extra_options = [
  25.         ('Device ID mode:', '--id (prints device ID only and exits.) (interactive (-i) mode only.)', 'option', False),
  26.         ('Allow device URIs of uninstalled printers:', '-x (interactive (-i) mode only.)', 'option', False)], see_also_list = [
  27.         'hp-toolbox'])
  28.     (opts, device_uri, printer_name, mode, ui_toolkit, lang) = mod.parseStdOpts('x', [
  29.         'id'])
  30.     for o, a in opts:
  31.         if o == '-x':
  32.             restrict = False
  33.             continue
  34.     
  35.     if devid_mode:
  36.         mode = INTERACTIVE_MODE
  37.     
  38.     if mode == GUI_MODE:
  39.         if not utils.canEnterGUIMode4():
  40.             log.error('%s -u/--gui requires Qt4 GUI support. Entering interactive mode.' % __mod__)
  41.             mode = INTERACTIVE_MODE
  42.         
  43.     
  44.     if mode == GUI_MODE:
  45.         restrict = True
  46.     
  47.     device_uri = mod.getDeviceUri(device_uri, printer_name, restrict_to_installed_devices = restrict)
  48.     if mode == INTERACTIVE_MODE:
  49.         
  50.         try:
  51.             d = device.Device(device_uri, printer_name)
  52.         except Error:
  53.             log.error('Unexpected error. Exiting.')
  54.             sys.exit(1)
  55.  
  56.         if not devid_mode:
  57.             log.info('')
  58.             log.info(log.bold(d.device_uri))
  59.             log.info('')
  60.         
  61.         
  62.         try:
  63.             d.open()
  64.             d.queryDevice()
  65.         except Error:
  66.             e = None
  67.             log.error('Error opening device (%s).' % e.msg)
  68.         
  69.  
  70.         if not devid_mode:
  71.             formatter = utils.TextFormatter(({
  72.                 'width': 28,
  73.                 'margin': 2 }, {
  74.                 'width': 58,
  75.                 'margin': 2 }))
  76.         
  77.         if devid_mode:
  78.             
  79.             try:
  80.                 if d.dq['deviceid']:
  81.                     print d.dq['deviceid']
  82.                 
  83.                 sys.exit(0)
  84.             except KeyError:
  85.                 log.error('Device ID not available.')
  86.             except:
  87.                 None<EXCEPTION MATCH>KeyError
  88.             
  89.  
  90.         None<EXCEPTION MATCH>KeyError
  91.         dq_keys = d.dq.keys()
  92.         dq_keys.sort()
  93.         log.info(log.bold('Device Parameters (dynamic data):'))
  94.         log.info(log.bold(formatter.compose(('Parameter', 'Value(s)'))))
  95.         log.info(formatter.compose(('-' * 28, '-' * 58)))
  96.         for key in dq_keys:
  97.             log.info(formatter.compose((key, str(d.dq[key]))))
  98.         
  99.         log.info(log.bold('\nModel Parameters (static data):'))
  100.         log.info(log.bold(formatter.compose(('Parameter', 'Value(s)'))))
  101.         log.info(formatter.compose(('-' * 28, '-' * 58)))
  102.         mq_keys = d.mq.keys()
  103.         mq_keys.sort()
  104.         for key in mq_keys:
  105.             log.info(formatter.compose((key, str(d.mq[key]))))
  106.         
  107.         if d.dbus_avail:
  108.             formatter = utils.TextFormatter(({
  109.                 'width': 20,
  110.                 'margin': 2 }, {
  111.                 'width': 5,
  112.                 'margin': 2 }, {
  113.                 'width': 40,
  114.                 'margin': 2 }, {
  115.                 'width': 8,
  116.                 'margin': 2 }, {
  117.                 'width': 8,
  118.                 'margin': 2 }))
  119.             log.info(log.bold('\nStatus History (most recent first):'))
  120.             log.info(log.bold(formatter.compose(('Date/Time', 'Code', 'Status Description', 'User', 'Job ID'))))
  121.             log.info(formatter.compose(('--------------------', '-----', '-' * 40, '--------', '--------')))
  122.             hq = d.queryHistory()
  123.             for h in hq:
  124.                 desc = device.queryString(h.event_code)
  125.                 log.info(formatter.compose((time.strftime('%x %H:%M:%S', time.localtime(h.timedate)), str(h.event_code), desc, h.username, str(h.job_id))))
  126.             
  127.             log.info('')
  128.         d.close()
  129.     else:
  130.         
  131.         try:
  132.             from PyQt4.QtGui import QApplication
  133.             from ui4.infodialog import InfoDialog
  134.         except ImportError:
  135.             d.dbus_avail
  136.             d.dbus_avail
  137.             log.error('Unable to load Qt4 support. Is it installed?')
  138.             sys.exit(1)
  139.         except:
  140.             d.dbus_avail
  141.  
  142.         app = QApplication(sys.argv)
  143.         dlg = InfoDialog(None, device_uri)
  144.         dlg.show()
  145.         
  146.         try:
  147.             log.debug('Starting GUI loop...')
  148.             app.exec_()
  149.         except KeyboardInterrupt:
  150.             d.dbus_avail
  151.             d.dbus_avail
  152.             sys.exit(0)
  153.         except:
  154.             d.dbus_avail
  155.  
  156. except KeyboardInterrupt:
  157.     log.error('User exit')
  158.  
  159. log.info('')
  160. log.info('Done.')
  161.